It is common to perform complex and/or time intensive computing on special, high powered static or fixed platform computer systems possibly incorporating many different central processing units or even physical computers. Often use of the computers is charged based on computing time, which is typically a combination of the number of processors used for a computing job and the time they are used for. However it is sometimes difficult to predict how long the job will go for, and therefore it is difficult to predict the cost of running a job.
Historically, such computing was performed by specialists, who knew from experience and the design of their programs and platforms roughly how long the job would take. It was also common that jobs were performed by entities with the resources to run a job without worrying about the cost.
However, modern computing projects, for example computer animation, may not require a user to have an in depth knowledge of how a computer program works or how much computing power a particular job may require. These users may wish to use a computing system but may not have the resources to be able to afford a longer than expected run.
Further, within “cloud” infrastructure environments, the infrastructure type, configurations, platforms and location are often unknown by the end user. Again, as in static or fixed computing environments, use of available computers in “cloud” environments is charged based on computing time. Again, it is sometimes difficult to predict how long a particular job will take to process and the volume of resources it will use. Therefore, it can be difficult to predict the cost of running a job within the “cloud”.
In order to perform job run-time estimation, personal benchmarks on a set infrastructure environment were required. Alternatively, these jobs were performed by entities with existing capitalised resources to run a job without the need to manage job specific, time based business cost.
Further, modern computing projects, may not require a user of an application to have an in depth knowledge of how a computer program works or how much computing power a job may require. These users may wish to use a cloud computing system where they will pay at the completion of the job based on consumption of resources for a given time period, where that time period is not understood when they initiate the job.
It is an object of the present invention to provide a system for providing an accurate estimation of a potential job run time and/or an expected cost for the job
It is a further object of the present invention to provide a system where a user may optionally commit to running a job based on a present estimated job run time.
Each object is to be read disjunctively with the object of at least providing the public with a useful choice.